Drive control method and drive controller

ABSTRACT

A drive controller ( 10′ ) of the present invention comprises control means ( 28, 29, 32  to  38 ) configured to perform control to cause a driven element to move by a driver (M) and a collision detecting means ( 20′ ) configured to detect a collision of the driven element. The collision detecting means detects the collision of the driven element based on an estimated speed deviation which is an estimated deviation from an actual speed of the driven element or an estimated acceleration deviation which is an estimated deviation from an actual acceleration of the driven element.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based on International Application No.PCT/JP03/01685 filed Feb. 18, 2003 which application was based onJapanese Patent Application filed Feb. 18, 2002.

TECHNICAL FIELD

The present invention relates to a drive control method and a drivecontrol system. More particularly, the present invention relates to adrive control method and a drive control system configured to detect acollision of a driven element.

BACKGROUND ART

Conventionally, various proposals for techniques for detecting acollision between a movable part of an industrial robot and an obstaclewhen the robot performs an operation have been made. For example,Japanese Laid-Open Patent Application Publication No. Hei. 5-208394discloses a method of detecting a collision based on a disorder of asignal of a torque sensor attached to a motor configured to drive an armof a robot. Japanese Laid-Open Patent Application Publications Nos. Hei.8-66893 and 11-70490 disclose a method in which an observer estimates adisturbance torque received by a servo motor configured to drive a robotarm and a collision with an obstacle is detected based on the estimateddisturbance torque. Japanese Laid-Open Patent Application PublicationNo. 8-229864 discloses a method of detecting a collision based ondeviation between a position of a movable part which is given as acommand by a robot controller and an actual position, in which atheoretical position deviation is calculated based on a delay time of acontrol system of the robot, and the collision is detected fromcomparison between the theoretical position deviation and the actualposition deviation.

Regarding a process after detecting a collision, Japanese Laid-OpenPatent Application Publication No. Hei. 7-143780 discloses a method of,upon detecting the collision, reducing an elapsed time from when thecollision is detected until a collided portion of a robot stops byapplying a torque to a motor in a reverse direction of a drivedirection.

Thus, various proposals for techniques for detecting a collision betweena movable part of a robot and an obstacle and techniques for stopping acollided portion of the robot after detecting the collision have beenconventionally made. However, in these arts, consideration has not beenfully given to inhibition of damage to each element caused by collision.This is due to the fact that, since a state in which the movable part ofthe robot is pressed against the obstacle continues for a certain timeperiod when the robot is only stopped upon detecting the collision, animpact of the collision is not alleviated, and it is thereforeimpossible to minimize damage to each element caused by the collision.

In order to solve the problems associated with the arts conventionallyproposed, applicant has proposed a drive control method and a drivecontroller in which a theoretical torque is calculated according to anequation of motion of a robot, then a theoretical current value of aservo motor is calculated from the theoretical torque, and when adifference between the theoretical current value and an actual currentvalue is above a threshold, it is determined that a collision hasoccurred (Japanese Laid-Open Patent Application Publication No. Hei.2001-117618).

However, in this prior proposals made by the applicant, the equation ofmotion must be created and solved for each robot, which requiresconsiderable time. This problem has become serious because of diverseapplications of the robot and increasing types of the robot.

In addition, since it is determined that a collision has occurred whenthe difference between the theoretical current value of the servo motorand the actual current value of the servo motor is above the threshold,this is susceptible to a seasonal effect of viscosity of a lubricantsuch as grease filled in a joint or the like of a robot arm. Forexample, in a region where viscosity of grease significantly increasesduring a winter season, it may be determined incorrectly that acollision has occurred because the difference between the theoreticalcurrent value of the servo motor and the actual current value of theservo motor is above the threshold although no collision actuallyoccurs.

DISCLOSURE OF THE INVENTION

The present invention has been directed to solving the above-mentionedproblems associated with the prior arts, and an object of the presentinvention is to provide a drive control method and a drive controlsystem which are capable of accurately detecting a collision of a drivenelement of a robot or the like which is driven by a driver with a simpleconstruction.

Another object of the present invention is to provide a drive controlmethod and a drive control system which are capable of minimizing adamage to a element caused by a collision.

In order to achieve these objects, a drive control method and a drivecontroller according to the present invention, which are configured toperform control to cause a driven element to move by a driver, and acollision of the driven element is detected, wherein the collision ofthe driven element is detected based on an estimated speed deviationwhich is an estimated deviation from an actual speed of the drivenelement or an estimated acceleration deviation which is an estimateddeviation from an actual acceleration of the driven element. As usedherein, “collision” means a collision between the driven element andanother object. In accordance with this configuration, since a collisionis detected based on the estimated speed deviation or the estimatedacceleration deviation, a configuration of the drive controller issimplified and detection precision is improved. In addition, when thedrive control method and the drive controller are provided with acollision processing means, a time period required for mounting thecollision detecting means into a device to be controlled can be reduced.Further, since it is not necessary to solve an equation of motion, timerequired for detecting a collision is reduced.

When detecting the collision, the estimated speed deviation or theestimated acceleration deviation may be obtained based on a positioncommand for moving the driven element and a detected value of a positionof the driven element.

When detecting the collision, both the estimated speed deviation and theestimated acceleration deviation may be obtained, and the collision maybe detected by determining that the collision has occurred when eitherthe estimated speed deviation or the estimated acceleration deviation isabove a threshold. Such a configuration allows the collision to beaccurately detected.

When detecting the collision, the estimated position of the drivenelement may be obtained in such a manner that a filter having a timeconstant equal to a time constant of the driven element under control bythe driver filters the position command value, and the estimated speeddeviation or the estimated acceleration deviation is obtained based onthe obtained estimated position and a detected value of a position ofthe driven element.

Further, collision processing may be performed to cause the drivenelement to reverse a movement before the collision, based on detectionof the collision. In such a configuration, damage to an element causedby the collision can be minimized. In addition, the device to becontrolled can re-start quickly.

In the control, a movement of the driven element may be controlled bythe driver based on a first position command, and when processing thecollision, positions of the driven element may be sequentially stored,and upon detecting the collision, a second position command to arrangestored positions of the driven element in a reverse direction on a timeaxis may be generated and used instead of the first position command.

In the control, the driven element may be controlled to continue itscurrent movement, while in the collision processing step, upon detectingthe collision, the driven element may be caused to reverse the movementbefore the collision, after causing the driven element to stopcontinuation of the current movement by the control. In accordance withthis configuration, the driven element can retreat quickly after thecollision when the driven element presses against another element.

A drive control method or a drive controller of the present inventioncomprises a robot drive control method or a robot drive controller, inwhich a device to be controlled is a robot having the driven elementwhich is an end effecter and the driver. In such a configuration, thepresent invention is applicable to control of the robot.

Also, the robot may include an arm having a plurality of drivers, an endeffecter, and links, the drivers and the links may be interconnected tobe alternately placed, from a base end of the arm toward a tip end ofthe arm, the end effecter may be connected to the driver connected tothe link located closest to the tip end, and a portion of the arm whichis located closer to the tip end than each driver may form the drivenelement of the each driver. In such a configuration, the presentinvention is applicable to control of the robot having the arm.

The above and further objects and features of the invention will morefully be apparent from the following detailed description withaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view showing a configuration of a hardware of arobot to be controlled by a drive control system according to anembodiment of the present invention;

FIG. 2 is a block diagram showing a configuration of a control system ofthe robot in FIG. 1 and the drive control system of the embodiment; and

FIG. 3 is a block diagram showing a detailed configuration of the drivecontrol system in FIG. 2.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, an embodiment of the present invention will be describedwith reference to the drawings.

(Embodiment)

FIG. 1 is a schematic view showing a configuration of a hardware of arobot to be controlled by a drive control system according to anembodiment of the present invention. In FIG. 1, the robot is representedby graphic symbols indicating a motion function.

In FIG. 1, a robot 1 has an arm 8 having 6 degrees of freedom andcomprised of first, second and third axes 2, 3, and 4 as rotationalaxes, and fourth, fifth, and sixth axes 5, 6, and 7 as pivot axes. Anend effecter 9 is attached to a tip end portion of the arm 8 as a drivenelement such as a hand or a welding tool. The axes 2, 3, 4, 5, 6, and 7forming the arm 8 are driven by a servo mechanism including a servomotor (not shown). Specifically, the arm 8 is constructed such that aplurality of links (herein, seven) 101 to 107 are connected to therotational axes 2, 3, and 4 or the pivot axes 5, 6 and 7, and the endeffecter 9 is connected to the link 107 located at a tip end. And, therotational axes 2, 3, and 4 are each configured to rotate two linksconnected by itself relatively around their axes. Also, the pivot axes5, 6, and 7 are each configured to rotate two links connected by itselfrelatively around axes perpendicular to their axes. This allows the endeffecter 9 of the arm 8 to move in a three-dimensional direction and tochange its attitude within a predetermined range. As used herein, anelement “moves” means “it moves or changes its attitude.” In FIG. 1, Gdenotes an obstacle.

FIG. 2 is a block diagram showing a configuration of a control system ofthe robot in FIG. 1 and the drive control system according to thisembodiment.

As shown in FIG. 2, the drive control system 10 includes a collisionprocessing means 20, and is configured to control a movement of the arm8 by the servo mechanism of the robot 1. The drive control system 10 issimilar in configuration to a general robot control system, except thecollision processing means 20. A main body of the drive control system10 is constituted by a computer. In this embodiment, the servo mechanismis constituted by servo motors respectively provided in the rotationalaxes 2, 3, and 4 or the pivot axes 5, 6, and 7 in FIG. 1.

FIG. 3 is a block diagram showing a detailed configuration of the drivecontrol system in FIG. 2.

In FIG. 3, a drive controller 10′ is provided as corresponding to eachof a plurality of (in this embodiment, six) servo motors M forming theservo mechanism of the robot 1 in FIG. 2. That is, the drive controlsystem 10 in FIG. 2 has drive controllers 10′ in FIG. 3 as many as theservo motors M. And, calculators configured to carry out variouscalculations (subtraction, differentiation, integration, etc,) shown inFIG. 3 are implemented by software stored in a computer constituting themain body of the drive control system 10. As a matter of course, thesecalculators may be implemented by a hardware such an electric circuit.

The drive controller 10′ includes an encoder (position detector) 28, athird differentiator 29, a second calculator (position deviationcalculator) 32, a first proportioner 33, a third calculator (speeddeviation calculator) 34, a second proportioner 35, a third proportioner36, an integrator 37, a fourth calculator 38, and the collisionprocessing means 20′.

First, a configuration of the drive controller 10, other than thecollision processing means 20′, will be described. The collisionprocessing means 20′ includes a switch 31 as described later. To theswitch 31, an external position command value (value of a first positioncommand) from the drive control system 10 in FIG. 2 and an internalposition command value (value of a second position command) from aninternal position command value generating portion 30 to be describedlater are input. The switch 31 performs switching between the externalposition command value and the internal position command value which areinput, and outputs the signal, based on a signal indicating that acollision has been detected, which will be described later. Meanwhile,the encoder 28 is connected to a main shaft of the servo motor M. Theencoder 28 detects a rotational angle (detected position, hereinafterreferred to as an encoder value) from a reference position (referenceangle) of the servo motor M. The encoder value corresponds to a positionof an element driven by the servo motor M (portion of the arm 8 of therobot 1 in FIG. 1 which is located close to a tip end of the arm 8 thanthe rotational axis or pivot axis corresponding to this servo motor M).The third differentiator 29 calculates an actual speed (real speed:hereinafter, referred to as a feed back speed) by differentiating theencoder value. And, the encoder value and the external position commandvalue or the internal position command value (hereinafter simplyreferred to as a position command value) output from the switch 31 areinput to the second calculator 32. The second calculator 32 calculates aposition deviation by subtracting the encoder value from the positioncommand value. The first proportioner 33 multiplies the positiondeviation by a predetermined number to convert it into a speed. Thethird calculator 34 calculates a speed deviation by subtracting a feedback speed output from the third differentiator 29 from the convertedspeed (hereinafter referred to as a conversion speed). The secondproportioner 35 multiplies the speed deviation by a predetermined numberto convert it into a current command value (hereinafter referred to as aprimary current command value). The third proportioner 36 calculates acorrected current command value by multiplying the primary currentcommand value by a predetermined number. The integrator 37 integratesthe corrected current command value. The fourth calculator 38 adds thecurrent value integrated by the integrator 37 (hereinafter referred toas an integrated current command value) to a primary current commandvalue. The current command value resulting from addition by the fourthcalculator 38 is input to the servo motor M as an instruction currentcommand value. The reason why the primary current command value and thecurrent command value are added to generate the instruction currentvalue is to cause the end effecter 9 to continue its current movement.In other words, the integrator 37 functions as a current movementcontinuation command value generator. And, by setting this command valueto zero, continuation of the current movement is stopped. The firstproportioner 33 is configured like a proportioner used in a generalrobot controller, which converts the position command value into aspeed. The second proportioner 35 is configured like a proportioner usedin a general robot controller, which converts the converted speed into acurrent command value.

Subsequently, a configuration of the collision processing means 20′ willbe described. The collision processing means 20′ comprises a filter(estimated position calculator) 21 that has a time constant equal tothat of the robot 1 and filters the external position command valueinput from the drive control system 10, a first differentiator(estimated speed calculator) 22 that calculates a speed (hereinafterreferred to as an estimated speed) by differentiating the filteredexternal position command value (hereinafter referred to as an estimatedposition), a first calculator (estimated speed deviation calculator) 23that calculates an estimated speed deviation by subtracting the feedbackspeed output from the third differentiator 29 from the estimated speed,a first determination unit 24 that determines whether or not theestimated speed deviation is above a threshold, a second differentiator(estimated acceleration deviation calculator) 25 that calculates anestimated acceleration deviation by differentiating the estimated speeddeviation, a second determination unit 26 that determines whether or notthe estimated acceleration deviation is above a threshold, an OR circuit27 to which signals from the first and second determination units 24 and26 are input, an internal position command value generating portion 30that stores the encoder value and generates the position command value(internal position command value) from the stored encoder value asrequired, and a switch 31 that performs switching between the externalposition command value and the internal position command value.

The OR circuit 27 is configured to output an ON signal (signalindicating that a collision has been detected) when the estimated speeddeviation or the estimated acceleration deviation is above thethreshold. The output signal is input to the integrator 37, the internalposition command value generating portion 30, and the switch 31. Thereason for using the estimated acceleration deviation is that acollision can be detected earlier because an effect of a collision on anacceleration variation exhibits earlier than that on a speed variation.

Upon the signal indicating that the collision has been detected beinginput from the OR circuit 27 to the integrator 37, the integrator 37clears an integrated value. That is, the integrator 37 sets the commandvalue of the current movement continuation command value generator tozero. As a result, a movement of the end effecter 9 toward an object isstopped, and a pressing force applied by the end effecter 9 isalleviated.

Upon the signal indicating that the collision has been detected beinginput from the OR circuit 27 to the internal position command valuegenerating portion 30, the generating portion 30 outputs a positioncommand value for tracing back the stored positions. That is, thegenerating portion 30 generates a position command value to cause thearm 8 of the robot 1 to retreat. When there is a limitation on a memorycapacity of the internal position command value generating portion 30,the stored position data is in a range of a latest predetermined timeperiod.

Upon the signal indicating that the collision has been detected beinginput from the OR circuit 27 to the switch 31, the switch 31 switchesthe position command value from the external position command value tothe internal position command value.

Subsequently, an operation of the drive controller 10′ configured asdescribed above (drive control method according to this embodiment) willbe described.

First of all, an operation in a normal state will be described. Withreference to FIGS. 1 to 3, first, the external position command value isoutput from the drive control system 10. Since the signal indicatingthat the collision has been detected is not output in the normal stateas described later, the switch 31 outputs the external position commandvalue. The second calculator 32, the first proportioner 33, the thirdcalculator 34, the second proportioner 35, the third proportioner 36,the integrator 37, and the forth calculator 38 generate an instructioncurrent value using the external position command value, the encodervalue output from the encoder 28, and the feedback speed correspondingto a differentiation value of the encoder value. This instructioncurrent value is input to the servo motor M. Thereby, based on theexternal command value, the servo motor M is feedback-controlled. As aresult, the movement of the arm 8 of the robot 1 is controlled by thedrive control system 10 by the servo mechanism.

Meanwhile, the external position command value is input to the filter 21and converted into the estimated position. The first differentiator 22calculates the estimated speed by differentiating the estimatedposition. The first calculator 22 calculates the estimated speeddeviation using this estimated speed and the feedback speed. The seconddifferentiator 25 calculates the estimated acceleration deviation bydifferentiating the estimated speed deviation. And, the firstdetermination unit 24 determines whether or not the calculated estimatedspeed deviation is above the threshold. Herein, since the arm 8 of therobot 1 moves to conform to the external command value, the estimatedspeed deviation is small. From this, the first determination unit 24determines that the estimated speed deviation is not above thethreshold. And, the second determination unit 26 determines whether ornot the calculated estimated acceleration deviation is above thethreshold. Herein, since the arm 8 of the robot 1 moves to conform tothe external command value, the estimated acceleration deviation issmall. From this, the second determination unit 26 determines that theestimated acceleration deviation is not above the threshold. Therefore,the OR circuit 27 does not output a signal indicating that a collisionhas been detected.

Subsequently, an operation in occurrence of a collision will bedescribed. Here, it is assumed that the end effecter 9 of the robot 1has collided against an obstacle G. Under this condition, the arm 8moves not to conform to the external command value, and therefore, theestimated speed deviation calculated by the first calculator 23 and theestimated acceleration deviation calculated by the second differentiator25 become large. From this, the first determination unit 24 determinesthat the estimated speed deviation is above the threshold. And, thesecond determination unit 26 determines that the estimated accelerationdeviation is above the threshold. So, the OR circuit 27 outputs thesignal indicating that the collision has been detected. The signal isinput to the integrator 37, which outputs zero. Thereby, the pressingforce applied by the end effecter 9 against the obstacle G isalleviated. Also, the signal is input to the internal position commandvalue generating portion 30, which outputs an internal position commandvalue. Further, the signal is input to the switch 31, which outputs theinternal command value. Thereby, the servo motor M reverses a movementbefore collision. Consequently, the end effecter 9 of the robot 1quickly retreats and moves away from the obstacle G.

As thus far described, in accordance with this embodiment, since it isdetermined that a collision has occurred when the estimated speeddeviation or the estimated acceleration deviation is above thecorresponding threshold, the configuration of the drive control system10 is simplified while improving detection precision. In addition, aperiod required for mounting the collision processing means 20 into therobot 1 can be reduced. Further, since it is not necessary to solve anequation of motion, time required for detecting collision can bereduced. Further, upon detecting the collision, the integrator 37 clearsits content to cause the end effecter 9 toward the obstacle G to stopmovement. Besides, since the robot 1 retreats after the collision, therobot 1 can re-start quickly.

While description has been given of a case where the end effecter 9 ofthe robot 1 collides against the obstacle G, the robot 1 moves in thesame manner when a portion of the arm 8 of the robot 1 which is locatedcloser to the tip end than the link 102 collides against the obstacle G,because the collision processing means 20′ is provided for each servomotor M.

While description has been thus far given of the present invention interms of the embodiments, it is to be understood that such embodiment isnot to be interpreted as limiting, but various alternations may be made.For example, while both the estimated speed deviation and the estimatedacceleration deviation are used to detect a collision in thisembodiment, either the estimated speed deviation or the estimatedacceleration deviation may be used to detect the collision. In thatcase, the configuration of the drive control system is furthersimplified.

Numerous modifications and alternative embodiments of the invention willbe apparent to those skilled in the art in view of the foregoingdescription. Accordingly, the description is to be construed asillustrative only, and is provided for the purpose of teaching thoseskilled in the art the best mode of carrying out the invention. Thedetails of the structure and/or function may be varied substantiallywithout departing from the spirit of the invention and all modificationswhich come within the scope of the appended claims are reserved.

INDUSTRIAL APPLICABILITY

A drive control system of the present invention is useful as a robotcontrol system.

A drive control method of the present invention is useful as a drivecontrol method of a robot.

1. A drive controller comprising: a control means configured to detect aposition of a driven element and to perform feedback control to causethe driven element to move by a driver based on a position command andthe detected position; a collision detecting means configured to detecta collision of the driven element; and a collision processing means,wherein the control means controls the driven element by the driver tocause the driven element to continue its current movement, by adding afirst control signal for feedback control of movement of the drivenelement to a second control signal for continuing the current movementof the driven element and by inputting the added signal to the driver,in addition to the feedback control of the movement of the drivenelement, the collision detecting means detects the collision of thedriven element based on an estimated speed deviation which is anestimated deviation from an actual speed of the driven element or anestimated acceleration deviation which is an estimated deviation from anactual acceleration of the driven element, and the collision processingmeans causes the driven element to reverse a movement before thecollision after causing the driven element to stop continuation of thecurrent movement by the control means by setting a value of the secondcontrol signal to zero, based on a signal indicating that a collisionhas been detected.
 2. The drive controller according to claim 1, whereinthe collision detecting means obtains the estimated speed deviation orthe estimated acceleration deviation based on the position command andthe detected position.
 3. The drive controller according to claim 2,wherein the collision detecting means obtains both the estimated speeddeviation and the estimated acceleration deviation, and detects thecollision by determining that the collision has occurred when either theestimated speed deviation or the estimated acceleration deviation isabove a corresponding threshold.
 4. The drive controller according toclaim 1, wherein the collision detecting means obtains the estimatedposition of the driven element in such a manner that a filter having atime constant equal to a time constant of the driven element undercontrol by the driver filters the position command value to allow theestimated position of the driven member to be obtained, and obtains theestimated speed deviation or the estimated acceleration deviation basedon the obtained estimated position and the detected position.
 5. Thedrive controller according to claim 1, wherein the control meanscontrols a movement of the driven element by the driver based on a firstposition command, and the collision processing means includes a positionstorage means configured to sequentially store positions of the drivenelement, and a second position command generating means configured togenerate a second position command for arranging the stored positions ofthe driven element in a reverse direction on a time axis and to inputthe second position command to the control means instead of the firstposition command, upon receiving the signal indicating that thecollision has been detected.
 6. A drive control system comprising arobot controller including a drive controller according to claim 1wherein a device to be controlled is a robot, and wherein the drivenelement is an end effecter and the driver.
 7. The drive controlleraccording to claim 1, wherein a device to be controlled comprises arobot including a plurality of said drive controllers, wherein the robotincludes an arm having drivers corresponding to the plurality of drivecontrollers, an end effecter, and links, the drivers and the links beinginterconnected to be alternately placed, from a base end of the armtoward a tip end of the arm, and the end effecter being connected to thedriver connected to the link located closest to the tip end of the arm,and a portion of the arm which is located closer to the tip end thaneach driver forms the driven element of each driver.
 8. The drivecontroller according to claim 1, wherein the control means performsfeedback control of the position and a speed of the driven element toperform feedback control of the movement, outputs the first controlsignal as a control signal for feedback control of the speed, andintegrates a signal based on the first control signal to generate thesecond control signal.
 9. A drive control method comprising the stepsof: performing feedback control by detecting a position of a drivenelement and by causing the driven element to move by a driver based on aposition command and the detected position; detecting a collision of thedriven element; and processing the collision, wherein in the step ofperforming control, the driven element is controlled by the driver tocause the driven element to continue its current movement by adding afirst control signal for feedback control of movement of the drivenelement to a second control signal for continuing the current movementof the driven element and by imputing the added signal to the driver, inaddition to the feedback control of the driven element, in the step ofdetecting the collision, the collision of the driven element is detectedbased on an estimated speed deviation which is an estimated deviationfrom an actual speed of the driven element or an estimated accelerationdeviation which is an estimated deviation from an actual acceleration ofthe driven element, and in the step of processing the collision, thedriven element is caused to reverse a movement before collision aftercausing the driven element to stop continuation of the current movementin the control step by setting a value of the second control signal tozero, based on a signal indicating that a collision has been detected.10. The drive control method according to claim 9, wherein in the stepof detecting the collision, the estimated speed deviation or theestimated acceleration deviation is obtained based on the positioncommand and the detected position.
 11. The drive control methodaccording to claim 10, wherein in the step of detecting the collision,both the estimated speed deviation and the estimated accelerationdeviation are obtained, and the collision is detected by determiningthat the collision has occurred when either the estimated speeddeviation or the estimated acceleration deviation is above acorresponding threshold.
 12. The drive control method according to claim9, wherein in the step of detecting the collision, a filter having atime constant equal to a time constant of the driven element undercontrol by the driver filters the position command value to allow anestimated position of the driven element to be obtained, and based onthe obtained estimated position and the detected position, the estimatedspeed deviation or the estimated acceleration deviation is obtained. 13.The drive control method according to claim 9, wherein in the controlstep, movement of the driven element is controlled by the driver basedon a first position command, and the step of processing the collisionincludes sequentially storing positions of the driven element, and, upondetecting the collision, generating a second position command to arrangethe stored positions of the driven element in a reverse direction on atime axis and using the second position command instead of the firstposition command in the control step.
 14. A drive control methodcomprising a robot drive control method including the drive controlmethod according to claim 9 in which a device to be controlled is arobot, wherein the driven element is an end effecter and the driver. 15.The drive control method according to claim 9 for controlling a robotincluding a plurality of said drive control methods, wherein the robotincludes an arm having drivers corresponding to the plurality of drivecontrol methods, an end effecter, and links, the drivers and the linksbeing interconnected to be alternately placed, from a base end of thearm toward a tip end of the arm, and the end effecter being connected tothe driver connected to the link located closest to the tip end of thearm, and a portion of the arm which is located closer to the tip endthan each driver forms the driven element of each driver.
 16. The drivecontrol method according to claim 9, wherein in the step of performingcontrol, the position and a speed of the driven element is feedbackcontrolled to perform feedback control of the movement, the firstcontrol signal is output as a control signal for feedback control of thespeed, and a signal based on the first control signal is integrated togenerate the second control signal.